package ch03.singleton;

/**
 * @author Jane
 * @date 2024-03-22 17:01
 *
 * 单例 : 一个类只有一个实例
        BaseDao dao1 = new BaseDao();
        BaseDao dao2 = new BaseDao();
        BaseDao dao3 = new BaseDao();
        BaseDao dao4 = new BaseDao();
 *
 *  饿汉模式
 *     1: 构造函数私有
 *     2: 提供公开的静态方法返回实例
 *
      懒汉模式
      1: 构造函数私有
      2: 提供公开的静态方法返回实例
          2.1 创建私有的静态对象
          2.1.1 为空就创建,否则就直接返回
 */

public class BaseDao {

        private static BaseDao dao;

        private BaseDao(){}

        public static synchronized BaseDao getInstance(){
            if (null == dao){
                   dao =new BaseDao();
            }
            return dao;
        }
}
